package com.cn.wanxi.dao.impl;

import com.cn.wanxi.dao.IMessageDao;
import com.cn.wanxi.model.MessageModel;
import com.cn.wanxi.model.OrdbyModel;
import com.cn.wanxi.util.GetSqlSession;
import com.cn.wanxi.util.JDBC;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

public class MessageDaoImpl implements IMessageDao {
    JDBC jdbc=new JDBC();
    @Override
    public List<MessageModel> findAll(MessageModel messageModel) {
        return GetSqlSession.getSqlSession().selectList("com.cn.wanxi.dao.IMessageDao.findAll",messageModel);
//        String sql = "select * FROM message ORDER BY date desc";
//        sql += " limit "+(messageModel.getPageModel().getPageNum()-1)*messageModel.getPageModel().getPageSize()+","+messageModel.getPageModel().getPageSize()+"";
//        ResultSet resultSet = jdbc.getResultSet(sql);
//        List<MessageModel> list=new ArrayList<>();
//        try {
//            while (resultSet.next()){
//                MessageModel model=new MessageModel();
//                model.setId(resultSet.getInt("id"));
//                model.setName(resultSet.getString("name"));
//                model.setPhone(resultSet.getString("phone"));
//                model.setMailbox(resultSet.getString("mailbox"));
//                model.setProject(resultSet.getString("project"));
//                model.setDate(resultSet.getString("date"));
//                model.setMessage(resultSet.getString("message"));
//                model.setFeedback(resultSet.getString("feedback"));
//
//                list.add(model);
//            }
//        } catch (SQLException e) {
//            e.printStackTrace();
//        }
//        jdbc.closeConn();
//        return list;
    }

    @Override
    public int deleteById(int messageId) {
        return GetSqlSession.getSqlSession().delete("com.cn.wanxi.dao.IMessageDao.deleteById",messageId);
//        String sql="DELETE FROM message WHERE id='"+messageId+"'";
//        int count=jdbc.update(sql);
//        jdbc.closeConn();
//        return count;
    }


    @Override
    public MessageModel findById(int messageid) {
        return GetSqlSession.getSqlSession().selectOne("com.cn.wanxi.dao.IMessageDao.findById",messageid);
//        String sql = "SELECT * FROM message WHERE id='"+messageid+"'";
//        ResultSet resultSet = jdbc.getResultSet(sql);
//        MessageModel messageModel=new MessageModel();
//        try {
//            while (resultSet.next()){
//                messageModel.setId(resultSet.getInt("id"));
//                messageModel.setName(resultSet.getString("name"));
//                messageModel.setPhone(resultSet.getString("phone"));
//                messageModel.setMailbox(resultSet.getString("mailbox"));
//                messageModel.setProject(resultSet.getString("project"));
//                messageModel.setMessage(resultSet.getString("message"));
//                messageModel.setDate(resultSet.getString("date"));
//                messageModel.setFeedback(resultSet.getString("feedback"));
//            }
//        } catch (SQLException e) {
//            e.printStackTrace();
//        }
//        return messageModel;
    }

    @Override
    public int messageUpdate(MessageModel messageModel) {
        return GetSqlSession.getSqlSession().update("com.cn.wanxi.dao.IMessageDao.messageUpdate",messageModel);
//        String sql="update message set name='"+messageModel.getName()+"' ,phone='"+messageModel.getPhone()+"' ,mailbox='"+messageModel.getMailbox()+"' ,project='"+messageModel.getProject()+"',date='"+messageModel.getDate()+"',message='"+messageModel.getMessage()+"',feedback='"+messageModel.getFeedback()+"'  where id='"+messageModel.getId()+"'";
//        int resultSet = jdbc.update(sql);
//        jdbc.closeConn();
//        return resultSet;
    }

    @Override
    public List<MessageModel> messageOrdBy(OrdbyModel ordbyModel) {
        return GetSqlSession.getSqlSession().selectList("com.cn.wanxi.dao.IMessageDao.messageOrdBy",ordbyModel);
//        String sql = "select * FROM message ";
//        if (!"".equals(ordbyModel.getOrdbydate())){
//            sql +=" ORDER BY date " +ordbyModel.getOrdbydate();
//        }
//        ResultSet resultSet = jdbc.getResultSet(sql);
//        List<MessageModel> list=new ArrayList<>();
//        try {
//            while (resultSet.next()){
//                MessageModel messageModel=new MessageModel();
//                messageModel.setId(resultSet.getInt("id"));
//                messageModel.setName(resultSet.getString("name"));
//                messageModel.setPhone(resultSet.getString("phone"));
//                messageModel.setMailbox(resultSet.getString("mailbox"));
//                messageModel.setProject(resultSet.getString("project"));
//                messageModel.setMessage(resultSet.getString("message"));
//                messageModel.setDate(resultSet.getString("date"));
//                list.add(messageModel);
//            }
//        } catch (SQLException e) {
//            e.printStackTrace();
//        }
//        jdbc.closeConn();
//        return list;
    }

    @Override
    public int getCount(MessageModel messageModel) {
        return GetSqlSession.getSqlSession().selectOne("com.cn.wanxi.dao.IMessageDao.getCount",messageModel);
//        String sql="SELECT COUNT(*) count FROM message";
//        ResultSet resultSet = jdbc.getResultSet(sql);
//        int count=0;
//        try {
//            while (resultSet.next()) {
//                count=resultSet.getInt("count");
//            }
//        } catch (SQLException e) {
//            e.printStackTrace();
//        }
//        jdbc.closeConn();
//        return count;
    }

    @Override
    public int messageAdd(MessageModel messageModel) {
        return GetSqlSession.getSqlSession().insert("com.cn.wanxi.dao.IMessageDao.messageAdd",messageModel);
    }
}
